'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 19:43
.ds Dm 01 multitexc
.ds Xs 22 5 multitexcoordARB.gl
.TH GLMULTITEXCOORDARB 3G
.SH NAME
.B "glMultiTexCoord1dARB, glMultiTexCoord1fARB, glMultiTexCoord1iARB, glMultiTexCoord1sARB, glMultiTexCoord2dARB, glMultiTexCoord2fARB, glMultiTexCoord2iARB, glMultiTexCoord2sARB, glMultiTexCoord3dARB, glMultiTexCoord3fARB, glMultiTexCoord3iARB, glMultiTexCoord3sARB, glMultiTexCoord4dARB, glMultiTexCoord4fARB, glMultiTexCoord4iARB, glMultiTexCoord4sARB, glMultiTexCoord1dvARB, glMultiTexCoord1fvARB, glMultiTexCoord1ivARB, glMultiTexCoord1svARB, glMultiTexCoord2dvARB, glMultiTexCoord2fvARB, glMultiTexCoord2ivARB, glMultiTexCoord2svARB, glMultiTexCoord3dvARB, glMultiTexCoord3fvARB, glMultiTexCoord3ivARB, glMultiTexCoord3svARB, glMultiTexCoord4dvARB, glMultiTexCoord4fvARB, glMultiTexCoord4ivARB, glMultiTexCoord4svARB
\- set the current texture coordinates

.SH C SPECIFICATION
void \f3glMultiTexCoord1dARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1dARB( 'u
	GLdouble \fIs\fP )
.fi
void \f3glMultiTexCoord1fARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1fARB( 'u
	GLfloat \fIs\fP )
.fi
void \f3glMultiTexCoord1iARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1iARB( 'u
	GLint \fIs\fP )
.fi
void \f3glMultiTexCoord1sARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1sARB( 'u
	GLshort \fIs\fP )
.fi
void \f3glMultiTexCoord2dARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2dARB( 'u
	GLdouble \fIs\fP,
	GLdouble \fIt\fP )
.fi
void \f3glMultiTexCoord2fARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2fARB( 'u
	GLfloat \fIs\fP,
	GLfloat \fIt\fP )
.fi
void \f3glMultiTexCoord2iARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2iARB( 'u
	GLint \fIs\fP,
	GLint \fIt\fP )
.fi
void \f3glMultiTexCoord2sARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2sARB( 'u
	GLshort \fIs\fP,
	GLshort \fIt\fP )
.fi
void \f3glMultiTexCoord3dARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3dARB( 'u
	GLdouble \fIs\fP,
	GLdouble \fIt\fP,
	GLdouble \fIr\fP )
.fi
void \f3glMultiTexCoord3fARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3fARB( 'u
	GLfloat \fIs\fP,
	GLfloat \fIt\fP,
	GLfloat \fIr\fP )
.fi
void \f3glMultiTexCoord3iARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3iARB( 'u
	GLint \fIs\fP,
	GLint \fIt\fP,
	GLint \fIr\fP )
.fi
void \f3glMultiTexCoord3sARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3sARB( 'u
	GLshort \fIs\fP,
	GLshort \fIt\fP,
	GLshort \fIr\fP )
.fi
void \f3glMultiTexCoord4dARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4dARB( 'u
	GLdouble \fIs\fP,
	GLdouble \fIt\fP,
	GLdouble \fIr\fP,
	GLdouble \fIq\fP )
.fi
void \f3glMultiTexCoord4fARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4fARB( 'u
	GLfloat \fIs\fP,
	GLfloat \fIt\fP,
	GLfloat \fIr\fP,
	GLfloat \fIq\fP )
.fi
void \f3glMultiTexCoord4iARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4iARB( 'u
	GLint \fIs\fP,
	GLint \fIt\fP,
	GLint \fIr\fP,
	GLint \fIq\fP )
.fi
void \f3glMultiTexCoord4sARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4sARB( 'u
	GLshort \fIs\fP,
	GLshort \fIt\fP,
	GLshort \fIr\fP,
	GLshort \fIq\fP )
.fi

.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u 
\f2target\fP
Specifies texture unit whose coordinates should be modified.  The number
of texture units is implementation dependent, but must be at least
two. Must be one of \%\f3GL_TEXTURE\fP$i$\f3_ARB\fP where 0 \(<= $ i $ <
\%\f3GL_MAX_TEXTURE_UNITS_ARB\fP, which is an implementation-dependent value.
.TP
\f2s\fP, \f2t\fP, \f2r\fP, \f2q\fP
Specify \f2s\fP, \f2t\fP, \f2r\fP, and \f2q\fP texture coordinates for
\f2target\fP texture unit.  Not all parameters are present in all forms
of the command.
.SH C SPECIFICATION
void \f3glMultiTexCoord1dvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1dvARB( 'u
	const GLdouble \fI*v\fP )
.fi
void \f3glMultiTexCoord1fvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1fvARB( 'u
	const GLfloat \fI*v\fP )
.fi
void \f3glMultiTexCoord1ivARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1ivARB( 'u
	const GLint \fI*v\fP )
.fi
void \f3glMultiTexCoord1svARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord1svARB( 'u
	const GLshort \fI*v\fP )
.fi
void \f3glMultiTexCoord2dvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2dvARB( 'u
	const GLdouble \fI*v\fP )
.fi
void \f3glMultiTexCoord2fvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2fvARB( 'u
	const GLfloat \fI*v\fP )
.fi
void \f3glMultiTexCoord2ivARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2ivARB( 'u
	const GLint \fI*v\fP )
.fi
void \f3glMultiTexCoord2svARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord2svARB( 'u
	const GLshort \fI*v\fP )
.fi
void \f3glMultiTexCoord3dvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3dvARB( 'u
	const GLdouble \fI*v\fP )
.fi
void \f3glMultiTexCoord3fvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3fvARB( 'u
	const GLfloat \fI*v\fP )
.fi
void \f3glMultiTexCoord3ivARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3ivARB( 'u
	const GLint \fI*v\fP )
.fi
void \f3glMultiTexCoord3svARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord3svARB( 'u
	const GLshort \fI*v\fP )
.fi
void \f3glMultiTexCoord4dvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4dvARB( 'u
	const GLdouble \fI*v\fP )
.fi
void \f3glMultiTexCoord4fvARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4fvARB( 'u
	const GLfloat \fI*v\fP )
.fi
void \f3glMultiTexCoord4ivARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4ivARB( 'u
	const GLint \fI*v\fP )
.fi
void \f3glMultiTexCoord4svARB\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglMultiTexCoord4svARB( 'u
	const GLshort \fI*v\fP )
.fi

.SH PARAMETERS
.TP
\f2target\fP
Specifies texture unit whose coordinates should be modified.  The number
of texture units is implementation dependent, but must be at least
two. Must be one of \%\f3GL_TEXTURE\fP$i$\f3_ARB\fP,
where 0 \(<= $ i $ < the implementation-dependent value of 
\%\f3GL_MAX_TEXTURE_UNITS_ARB\fP.
.TP
\f2v\fP
Specifies a pointer to an array of one, two, three, or four elements,
which in turn specify the \f2s\fP, \f2t\fP, \f2r\fP,
and \f2q\fP texture coordinates.
.SH DESCRIPTION
\%\f3glMultiTexCoordARB\fP specifies texture coordinates in one, two, three, or four
dimensions.  
\%\f3glMultiTexCoord1ARB\fP sets the current texture
coordinates to (\f2s\fP,\ 0,\ 0,\ 1);
a call to \%\f3glMultiTexCoord2ARB\fP
sets them to (\f2s\fP,\ \f2t\fP,\ 0,\ 1).
Similarly, \%\f3glMultiTexCoord3ARB\fP specifies the texture coordinates as
(\f2s\fP,\ \f2t\fP,\ \f2r\fP,\ 1), and
\%\f3glMultiTexCoord4ARB\fP
defines all four components explicitly as
(\f2s\fP,\ \f2t\fP,\ \f2r\fP,\ \f2q\fP).
.P
The current texture coordinates are part of the data
that is associated with each vertex and with the current
raster position. 
Initially, the values for 
\f2s\fP, \f2t\fP, \f2r\fP, \f2q\fP are (0,\ 0,\ 0,\ 1). 
.P
.SH NOTES
\%\f3glMultiTexCoordARB\fP is only supported if \%\f3GL_ARB_multitexture\fP is included in the
string returned by \%\f3glGetString\fP when called with the argument
\%\f3GL_EXTENSIONS\fP.
.P
The current texture coordinates can be updated at any time.
In particular,
\%\f3glMultiTexCoordARB\fP can be called between a call to \%\f3glBegin\fP and the corresponding
call to \%\f3glEnd\fP.
.P
It is always the case that \%\f3GL_TEXTURE\fP$i$\f3_ARB\fP = \%\f3GL_TEXTURE0_ARB\fP + $i$.
.SH ASSOCIATED GETS
\%\f3glGet\fP with argument \%\f3GL_CURRENT_TEXTURE_COORDS\fP with appropriate 
texture unit selected.
.SH SEE ALSO
\%\f3glActiveTextureARB(3G)\fP,
\%\f3glClientActiveTextureARB(3G)\fP,
\%\f3glTexCoord(3G)\fP,
\%\f3glTexCoordPointer(3G)\fP,
\%\f3glVertex(3G)\fP
